Multimedia communications systems typically include several components, for example, terminals, gateways, gatekeepers, multipoint controllers, multipoint processors, and multipoint control units. For proper operation, various components need to communicate reliably with various other components. A link is typically provided between a media gateway (MG) and its media gateway controller (MGC), which may be referred to as a call server, to allow communication between the MG and the MGC. Such a link carries signaling messages, for example, H.248 signaling messages complying with International Telecommunication Union Telecommunication Standardization Sector/Internet Engineering Task Force (ITU-T/IETF) Recommendation H.248, between an H.248 call control process in the MG and a call control process in the MGC. Such a link is typically configured as internet protocol (IP) over an asynchronous transfer mode (ATM) connection, for example, an ATM permanent virtual connection (PVC) and/or soft permanent virtual connection (SPVC). The H.248 signaling includes messages that are transported via the user datagram protocol (UDP). Each link is terminated at one end by a logical link termination in the MG and at the other end by an ATM network interface card installed in a signaling node of the MGC. The MGC may support large numbers (e.g., hundreds or thousands) of MGs and would therefore comprise several signaling nodes for this purpose.
One approach to H.248 signaling using the above signaling connection is for the MGC to select one link to an MG and to send H.248 messages over that link. The H.248 layer, which is a relatively high-level layer, is used to detect any message failures. The MGC has a threshold to which the count of failed messages would be compared, and when that threshold is crossed, the MGC starts using another link to the MG.
One problem with detecting message failures in the H.248 layer is that such detection occurs relatively slowly at the H.248 layer. Furthermore, in some cases the H.248 application at one end or the other, rather than faults on the signaling links, could cause the failures. Since the failure detection mechanism would not be able to distinguish these types of failures from link failures, recovery from them would occur even more slowly.
Other problems also complicate the development of a reliable signaling connection. For instance, the one-to-many relationship of the MGC to the MGs and the nature of H.248 signaling impose unique constraints on the signaling connection. Specifically, since the MGC may support hundreds of MGs, the resources of the MGC should be used as efficiently as possible. Therefore, the management of signaling connections to the MGs should require minimal MGC resources. Furthermore, sending duplicate messages on both links of a signaling connection to provide link redundancy, for example, as in 1+1 protection schemes, is not a viable option since it uses signaling node (SN) resources in the MGC inefficiently. Additionally, since H.248 signaling may be transported over an underlying protocol which is not guaranteed to be reliable, for example, UDP, there is not necessarily an assurance of end-end transmission as there might be with a reliable protocol, such as TCP. However, even a reliable protocol, such as TCP, can do nothing by itself to provide redundancy for reliable communication in the event that the underlying physical link were to fail.
Therefore, an efficient protocol to manage redundant links forming a reliable connection for signaling is needed.